package com.ruoyi.flowable.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 sys_task
 * 
 * @author ruoyi
 * @date 2023-11-14
 */
public class SysTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long ID;

    /** 流程定义ID */
    @Excel(name = "流程定义ID")
    private String procDefId;

    /** 流程taskid */
    @Excel(name = "流程taskid")
    private String actTaskId;

    /** 名称 */
    @Excel(name = "名称")
    private String taskName;

    /** 附件路径 */
    @Excel(name = "附件路径")
    private String PATH;

    /** 开始时间 计划 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间 计划", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTimePlan;

    /** 结束时间 计划 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间 计划", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTimePlan;

    /** 接收人ID */
    @Excel(name = "接收人ID")
    private Long taskAssigneeId;

    /** 接收人名称 */
    @Excel(name = "接收人名称")
    private String taskAssigneeName;

    /** 流程实例ID */
    @Excel(name = "流程实例ID")
    private String actInstId;

    /** 措施 */
    @Excel(name = "措施")
    private String taskComment;

    /** 实际完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date endTime;

    /** 状态 */
    @Excel(name = "状态")
    private String taskStatus;

    @Excel(name = "备注")
    private String REMARK;
    /** 里程碑名称 */
    @Excel(name = "里程碑名称")
    private String taskMilestoneName;


    public void setID(Long ID)
    {
        this.ID = ID;
    }

    public Long getID()
    {
        return ID;
    }
    public String getREMARK() {
        return this.REMARK;
    }
    public void setRemark(String remark) {
        super.setRemark(remark);
    }
    public void setProcDefId(String procDefId) 
    {
        this.procDefId = procDefId;
    }

    public String getProcDefId() 
    {
        return procDefId;
    }
    public void setActTaskId(String actTaskId) 
    {
        this.actTaskId = actTaskId;
    }

    public String getActTaskId() 
    {
        return actTaskId;
    }
    public void setTaskName(String taskName) 
    {
        this.taskName = taskName;
    }

    public String getTaskName() 
    {
        return taskName;
    }
    public void setPATH(String PATH) 
    {
        this.PATH = PATH;
    }

    public String getPATH() 
    {
        return PATH;
    }
    public void setStartTimePlan(Date startTimePlan) 
    {
        this.startTimePlan = startTimePlan;
    }

    public Date getStartTimePlan() 
    {
        return startTimePlan;
    }
    public void setEndTimePlan(Date endTimePlan) 
    {
        this.endTimePlan = endTimePlan;
    }

    public Date getEndTimePlan() 
    {
        return endTimePlan;
    }
    public void setTaskAssigneeId(Long taskAssigneeId) 
    {
        this.taskAssigneeId = taskAssigneeId;
    }

    public Long getTaskAssigneeId() 
    {
        return taskAssigneeId;
    }
    public void setTaskAssigneeName(String taskAssigneeName) 
    {
        this.taskAssigneeName = taskAssigneeName;
    }

    public String getTaskAssigneeName() 
    {
        return taskAssigneeName;
    }
    public void setActInstId(String actInstId) 
    {
        this.actInstId = actInstId;
    }

    public String getActInstId() 
    {
        return actInstId;
    }
    public void setTaskComment(String taskComment) 
    {
        this.taskComment = taskComment;
    }

    public String getTaskComment() 
    {
        return taskComment;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setTaskStatus(String taskStatus) 
    {
        this.taskStatus = taskStatus;
    }

    public String getTaskStatus() 
    {
        return taskStatus;
    }
    public void setTaskMilestoneName(String taskMilestoneName) 
    {
        this.taskMilestoneName = taskMilestoneName;
    }

    public String getTaskMilestoneName() 
    {
        return taskMilestoneName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ID", getID())
            .append("procDefId", getProcDefId())
            .append("actTaskId", getActTaskId())
            .append("taskName", getTaskName())
            .append("REMARK", getREMARK())
            .append("PATH", getPATH())
            .append("startTimePlan", getStartTimePlan())
            .append("endTimePlan", getEndTimePlan())
            .append("taskAssigneeId", getTaskAssigneeId())
            .append("taskAssigneeName", getTaskAssigneeName())
            .append("actInstId", getActInstId())
            .append("taskComment", getTaskComment())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("taskStatus", getTaskStatus())
            .append("taskMilestoneName", getTaskMilestoneName())
            .toString();
    }
}
